package com.ecommerce.product;

public class BookProduct extends Product {
    // 特有属性：作者、出版社、ISBN编号（图书专属信息）
    private String author;
    private String publisher;
    private String isbn;

    // 构造方法：初始化父类属性+图书特有属性
    public BookProduct(String productId, String productName, double price, String description,
                       String author, String publisher, String isbn) throws InvalidPriceException {
        super(productId, productName, price, description); // 调用父类构造方法
        this.author = author;
        this.publisher = publisher;
        this.isbn = isbn;
    }

    // Getter方法：获取图书特有属性
    public String getAuthor() {
        return author;
    }

    public String getPublisher() {
        return publisher;
    }

    public String getIsbn() {
        return isbn;
    }

    // 重写父类方法：补充图书特有信息
    @Override
    public String showBasicInfo() {
        return super.showBasicInfo() + "\n" +
                "作者：" + author + "\n" +
                "出版社：" + publisher + "\n" +
                "ISBN：" + isbn;
    }

    // 子类特有方法：展示图书分类信息
    public String showCategory() {
        // 简单模拟分类逻辑：根据书名关键词判断
        if (getProductName().contains("Java") || getProductName().contains("编程")) {
            return "【图书分类】计算机科学与技术";
        } else if (getProductName().contains("历史")) {
            return "【图书分类】历史学";
        } else {
            return "【图书分类】综合类";
        }
    }
}